Repository navigation
TOOL_STRATEGY_RULES conflates safety policy with tool routing; split it and delete routing in favor of skill/schema-carried routing - #1822
Conversation
…outing moves to skills/schemas (closes #1820) TOOL_STRATEGY_RULES conflated four unrelated jobs. Per ADR-064, each moves to the channel that owns it: - node_type argument shape -> parameter descriptions on search_nodes, create_node, and resolve_query (update_node has no node_type param) - tool-usage reference (search_nodes filter types, search_semantic's markdown shortcut, create_relationship's relationship_type) -> the affected tools' own descriptions in local_agent/tools.rs - per-operation routing -> each operation's skill instructions in skill_pipeline.rs, or deleted as redundant with the model's own choice to reach a skill via search_skills The measured-harmful line ("ALWAYS search_nodes first before update_node") is gone; Graph Editing's own FIND THEN UPDATE instruction already covers it without preempting search_skills. Graph Editing also gained an INDIRECT TARGET rule (and resolve_query in its tool whitelist) to close a real gap: resolve_query was reachable only through its own tool description, with no skill ever mentioning it for ambiguous update targets. TOOL_STRATEGY_RULES: 6916 -> 2004 chars (71% reduction); full assembled system prompt: 10365 -> 5453 chars (47% reduction). Added a LocalAgentLoop regression test scripting the full search_skills -> search_nodes -> update_node chain to prove the plumbing supports the now-unblocked routed path. Co-Authored-By: Claude <noreply@anthropic.com>
Code Review SummaryThis PR does exactly what issue #1820 asked: it partitions Requirements Check (issue #1820)
FindingsCritical IssuesNone. Suggested Improvements
Nitpicks
Verification Notes (things I checked that turned out fine, recorded so they aren't re-litigated)
Recommendation: APPROVEThis is a well-executed, atomic implementation of ADR-064 against the single file the issue targeted, with genuine per-line verification rather than speculative deletion — the PR does the actual homework the issue's checklist demanded (I independently re-verified several of those disposition claims and they hold). The one real gap — mock-model plumbing test standing in for live-model behavioral proof of the #1814 regression fix — is self-disclosed in the test's own doc comment and is properly deferred to the agent-matrix eval rather than silently overclaimed in the code. It's worth tightening the PR-level language so that deferral is equally visible to someone who only reads the PR description, but that's a documentation clarity nit, not a reason to withhold approval on a change that is a clear net improvement to codebase health. |
…proof scope, cross-reference indirect-target carve-out - Removed issue-number references from code comments per project documentation standards; point at ADR-064 instead, which is durable. - Strengthened the new LocalAgentLoop regression test's doc comment to explicitly state it proves dispatch plumbing (tool order, argument passing) via a scripted MockEngine, not live-model routing choice — MockEngine returns a fixed response queue regardless of prompt content. Live-model adherence remains a separate, open question for the agent-matrix eval, which isn't part of test:all. - Graph Editing's FIND THEN UPDATE rule now explicitly points at the INDIRECT TARGET carve-out below it, so the two rules' relationship is stated rather than left to prose-ordering inference. Addresses reviewer recommendations from PR #1822's pragmatic-code-review (recommendation: APPROVE; two minor findings above, no critical issues). Co-Authored-By: Claude <noreply@anthropic.com>
Addressed review feedbackBoth findings from the pragmatic-code-review addressed in beb6198:
Also addressed the nitpick: removed all "issue #1820" references from code comments (6 across 3 files), pointing at ADR-064 instead per the project's standing rule against embedding issue numbers in code/docs. All changes re-verified: 317/317 Re-Review DecisionDecision: NO RE-REVIEW NEEDED Rationale: All changes are doc-comment clarifications and one cross-reference sentence added to existing skill prose — no logic changes, no new behavior, no architectural changes. The original review's only two findings (both non-critical) are fully addressed. Ready for merge at maintainer's discretion. |
Closes #1820